﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.Common;
using Microsoft.Practices.EnterpriseLibrary.Common.Configuration;
using Microsoft.Practices.EnterpriseLibrary.Data;
using Microsoft.Practices.EnterpriseLibrary.ExceptionHandling;
using Chilis.Franquicias.EnEntidad;
using Chilis.Franquicias.DaDatos.Helper;

namespace Chilis.Franquicias.DaDatos
{
    public class FranquiciadoDaSatos
    {
        private Database oDatabase = EnterpriseLibraryContainer.Current.GetInstance<Database>(Conexion.cnsSql);

        public FQ_Franquiciado SeleccionarEntrevistaFranquiciado(Int32 FQ_Solicitud_ID)
        {
            FQ_Franquiciado oFQ_Franquiciado = new FQ_Franquiciado();
            using (IDataReader oIDataReader = oDatabase.ExecuteReader(Procedimientos.USP_SEL_FQ_ENTREVISTA_FRANQUICIADO,
                FQ_Solicitud_ID
            ))
            {
                int indiceFQ_Entrevista_ID = oIDataReader.GetOrdinal("FQ_Entrevista_ID");
                int indiceNombre = oIDataReader.GetOrdinal("Nombre");
                int indicedireccion = oIDataReader.GetOrdinal("Direccion");
                int indicenumeroDocumento = oIDataReader.GetOrdinal("numeroDocumento");
                if (oIDataReader.Read())
                {
                    oFQ_Franquiciado = new FQ_Franquiciado();
                    oFQ_Franquiciado.FQ_Entrevista = new FQ_Entrevista();
                    oFQ_Franquiciado.FQ_Entrevista.FQ_Solicitud = new FQ_Solicitud();
                    oFQ_Franquiciado.FQ_Entrevista.FQ_Solicitud.FQ_EstadoSolicitud = new FQ_EstadoSolicitud();
                    oFQ_Franquiciado.FQ_Entrevista.FQ_Solicitud.FQ_Candidato = new FQ_Candidato();
                    oFQ_Franquiciado.FQ_Entrevista.FQ_Entrevista_ID = DataUtil.DbValueToDefault<Int32>(oIDataReader[indiceFQ_Entrevista_ID]);
                    oFQ_Franquiciado.FQ_Entrevista.FQ_Solicitud.FQ_Candidato.Nombre = DataUtil.DbValueToDefault<String>(oIDataReader[indiceNombre]);
                    oFQ_Franquiciado.FQ_Entrevista.FQ_Solicitud.FQ_Candidato.Direccion = DataUtil.DbValueToDefault<String>(oIDataReader[indicedireccion]);
                    oFQ_Franquiciado.FQ_Entrevista.FQ_Solicitud.FQ_Candidato.NumeroDocumento = DataUtil.DbValueToDefault<String>(oIDataReader[indicenumeroDocumento]);
                }
            }
            return oFQ_Franquiciado;
        }


        public int CrearFranquisiado(FQ_Franquiciado oFQ_Franquiciado)
        {
            int resultado = oDatabase.ExecuteNonQuery(Procedimientos.USP_INS_FQ_FRANQUICIADO,
                oFQ_Franquiciado.FQ_Entrevista.FQ_Entrevista_ID,
                oFQ_Franquiciado.FechaInicio,
                oFQ_Franquiciado.FechaFin,
                oFQ_Franquiciado.DireccionLocal
            );
            return resultado;
        }
    }
}
